home *** CD-ROM | disk | FTP | other *** search
/ Disc to the Future 2 / Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin / PC / MISCBAS / CRAZY8.ASC < prev    next >
Text File  |  1987-01-11  |  7KB  |  267 lines

  1. 100  REM SOURCE UNKNOWN:  REVISED BY D. KURLAND  11/16/75 
  2. 110 PRINT "THIS IS THE GAME OF CRAZY EIGHTS" 
  3. 120 DIM A(52),D(52),G(52),H(52) 
  4. 130 DIM T(52),S(52),V(52)   
  5. 140 DIM Z(52),U$(4),C$(13)  
  6. 150 READ U$(1),U$(2),U$(3),U$(4)
  7. 160 FOR I=1 TO 13   
  8. 170 READ C$(I)  
  9. 180 NEXT I  
  10. 190 FOR I=1 TO 52   
  11. 200 READ Z(I)   
  12. 210 NEXT I  
  13. 220 DATA CLUBS,DIAMONDS,HEARTS,SPADES   
  14. 230 DATA "2","3","4","5","6","7","8","9","10",JACK,QUEEN,KING,ACE   
  15. 240 DATA 2,3,4,5,6,7,50,9,10,10,10,10,1 
  16. 250 DATA 2,3,4,5,6,7,50,9,10,10,10,10,1 
  17. 260 DATA 2,3,4,5,6,7,50,9,10,10,10,10,1 
  18. 270 DATA 2,3,4,5,6,7,50,9,10,10,10,10,1 
  19. 280 PRINT "DO YOU KNOW HOW TO PLAY";
  20. 290 INPUT A$
  21. 300 IF A$="YES" OR A$="Y" THEN 400  
  22. 310 PRINT "WHEN ASKED WHICH CARD YOU WISH TO PLAY, YOUR ANSWER SHOULD"  
  23. 320 PRINT "OF THE FORM:  CARD,SUIT  .  ANY EIGHT MAY BE"
  24. 330 PRINT "PLAYED AT ANY TIME REGARDLESS OF SUIT TO CHANGE THE SUIT."   
  25. 340 PRINT "IF YOU ARE UNABLE OR UNWILLING TO PLAY, YOU WILL BE GIVEN"   
  26. 350 PRINT "ANOTHER CARD FROM THE DRAW STACK.  IF ALL CARDS HAVE BEEN"   
  27. 360 PRINT "DRAWN, ANY PERSON WHO IS ABLE TO PLAY MUST DO SO."   
  28. 370 PRINT "AT THE END OF THE GAME, THE PERSON HOLDING CARDS HAS POINTS" 
  29. 380 PRINT "SCORED AGAINST HIM AS FOLLOWS:  EIGHTS=50, ACE=1, FACE"  
  30. 390 PRINT "CARD=10, INDEX VALUE FOR EACH OTHER CARD."   
  31. 400 PRINT : PRINT "GAME WILL START SHORTLY..."
  32. 410 L=0 : FOR I=1 TO 4
  33. 420 FOR J=1 TO 13   
  34. 430 L=L+1   
  35. 440 S(L)=I  
  36. 450 V(L)=J  
  37. 460 NEXT J  
  38. 470 NEXT I  
  39. 480 N1=0
  40. 490 N2=0
  41. 500 N3=0
  42. 510 S1=0
  43. 520 S2=0
  44. 530 FOR I=1 TO 52   
  45. 540 G(I)=0  
  46. 550 H(I)=0  
  47. 560 A(I)=RND(1) 
  48. 570 NEXT I  
  49. 580 W1=0
  50. 590 B1=0
  51. 600 P1=1
  52. 610 P2=1
  53. 620 J=0 
  54. 630 M1=99999!
  55. 640 FOR I=1 TO 52   
  56. 650 IF A(I)>=M1 THEN 680
  57. 660 M1=A(I) 
  58. 670 I1=I
  59. 680 NEXT I  
  60. 690 J=J+1   
  61. 700 D(J)=I1 
  62. 710 A(I1)=99999! 
  63. 720 IF J<52 THEN 630
  64. 730 FOR I=1 TO 7
  65. 740 G(D(52-2*I+2))=1
  66. 750 H(D(52-2*I+1))=1
  67. 760 NEXT I  
  68. 770 T(1)=D(38)  
  69. 780 T1=1
  70. 790 P=S(T(1))   
  71. 800 H1=7
  72. 810 H2=7
  73. 820 D1=37   
  74. 830 GOSUB 1390  
  75. 840 GOSUB 1510  
  76. 850 IF W1=1 THEN 910
  77. 860 IF B1=1 THEN 910
  78. 870 GOSUB 2020  
  79. 880 IF W1=1 THEN 910
  80. 890 IF B1=1 THEN 910
  81. 900 GOTO 830
  82. 910 GOSUB 1140  
  83. 920 PRINT "YOUR SCORE IS";C1
  84. 930 PRINT "MY SCORE IS";C2  
  85. 940 IF C2>=C1 THEN 980  
  86. 950 PRINT "YOU WON THAT HAND."  
  87. 960 N1=N1+1 
  88. 970 GOTO 1000
  89. 980 PRINT "I WON THAT HAND."
  90. 990 N2=N2+1 
  91. 1000 PRINT   
  92. 1010 N3=N3+1 
  93. 1020 PRINT "DO YOU WISH TO PLAY AGAIN";  
  94. 1030 INPUT A$
  95. 1040 IF A$="YES" OR A$="Y" THEN 530  
  96. 1050 PRINT   
  97. 1060 PRINT "OUT OF";N3;"HANDS YOU WON";N1
  98. 1070 PRINT "YOUR TOTAL SCORE IS";S1;": MINE IS";S2;"."   
  99. 1080 IF S1<=S2 THEN1110   
  100. 1090 PRINT "LOOKS LIKE YOU'RE HIGH SCORER."  
  101. 1100 GOTO 1120
  102. 1110 PRINT "LOOKS LIKE I AM THE HIGH SCORER."
  103. 1120 PRINT "BYE."
  104. 1130 STOP   
  105. 1140 C1=0   
  106. 1150 C2=0   
  107. 1160 IF H2=0 THEN 1240  
  108. 1170 PRINT  
  109. 1180 PRINT "CARDS LEFT IN MY HAND"  
  110. 1190 FOR I=1 TO 52  
  111. 1200 IF H(I)=0 THEN 1230
  112. 1210 PRINT C$(V(I));TAB(6);"OF ";U$(S(I))   
  113. 1220 C1=C1+Z(I) 
  114. 1230 NEXT I 
  115. 1240 IF H1=0 THEN 1360  
  116. 1250 FOR I=1 TO 52  
  117. 1260 IF G(I)=0 THEN 1280
  118. 1270 C2=C2+Z(I) 
  119. 1280 NEXT I 
  120. 1290 IF C1=0 THEN 1360  
  121. 1300 IF C1>=C2 THEN 1340
  122. 1310 C2=C2-C1   
  123. 1320 C1=0   
  124. 1330 GOTO 1360  
  125. 1340 C1=C1-C2   
  126. 1350 C2=0   
  127. 1360 S1=S1+C1   
  128. 1370 S2=S2+C2   
  129. 1380 RETURN 
  130. 1390 PRINT  
  131. 1400 PRINT "YOUR HAND IS"   
  132. 1410 FOR I=1 TO 52  
  133. 1420 IF G(I)=0 THEN 1440
  134. 1430 PRINT C$(V(I));TAB(6);"OF ";U$(S(I))   
  135. 1440 NEXT I 
  136. 1450 PRINT  
  137. 1460 PRINT "THE LAST CARD PLAYED WAS THE "; 
  138. 1470 PRINT C$(V(T(T1)));" OF ";U$(S(T(T1))) 
  139. 1480 IF V(T(T1))<>7 THEN 1500   
  140. 1490 PRINT "THE SUIT CALLED FOR IS ";U$(P)  
  141. 1500 RETURN 
  142. 1510 PRINT "DO YOU WISH TO PLAY A CARD";
  143. 1520 INPUT A$   
  144. 1530 AZ$=LEFT$(A$,1)
  145. 1531 IF AZ$<>"Y" AND AZ$<>"N" THEN PRINT "(Y OR N) PLEASE ! "; : GOTO 1520
  146. 1540 IF D1<>0 THEN 1570 
  147. 1550 PRINT "ALL THE CARDS HAVE BEEN DEALT---YOU ARE BLOCKED"
  148. 1560 GOTO 1980  
  149. 1570 I=D(D1)
  150. 1580 D1=D1-1
  151. 1590 H1=H1+1
  152. 1600 G(I)=1 
  153. 1610 PRINT "YOUR NEW CARD IS THE ";C$(V(I));" OF ";U$(S(I)) 
  154. 1620 GOTO 1510  
  155. 1630 PRINT "WHICH OF YOUR CARDS DO YOU WISH TO PLAY";   
  156. 1640 INPUT X$,Y$
  157. 1650 GOSUB 2610 
  158. 1660 IF V9>0 THEN 1680 ELSE PRINT "UNKNOWN CARD, TRY AGAIN";
  159. 1670 GOTO 1640 
  160. 1680 GOSUB 2500 
  161. 1690 IF S9>0 THEN 1710 ELSE PRINT "UNKNOWN SUIT, TRY AGAIN";
  162. 1700 GOTO 1640 
  163. 1710 IF V9=7 THEN 1760  
  164. 1720 IF S9=P THEN 1760  
  165. 1730 IF V9=V(T(T1)) THEN 1760   
  166. 1740 PRINT "THAT IS NOT A LEGAL PLAY."  
  167. 1750 GOTO 1510  
  168. 1760 FOR I=1 TO 52  
  169. 1770 IF G(I)=0 THEN 1800
  170. 1780 IF V(I)<>V9 THEN 1800  
  171. 1790 IF S(I)=S9 THEN 1830   
  172. 1800 NEXT I 
  173. 1810 PRINT "YOU DO NOT HAVE THAT CARD." 
  174. 1820 GOTO 1510  
  175. 1830 G(I)=0 
  176. 1840 H1=H1-1
  177. 1850 T1=T1+1
  178. 1860 T(T1)=I
  179. 1870 IF V9<>7 THEN 1930 
  180. 1880 PRINT "WHAT SUIT DO YOU WISH"; 
  181. 1890 INPUT Y$   
  182. 1900 GOSUB 2500 
  183. 1910 IF S9>0 THEN 1930 ELSE PRINT "UNKNOWN SUIT, TRY AGAIN";
  184. 1920 GOTO 1890 
  185. 1930 P=S9   
  186. 1940 P1=1   
  187. 1950 IF H1<>0 THEN 1970 
  188. 1960 W1=1   
  189. 1970 RETURN 
  190. 1980 IF P2<>0 THEN 2000 
  191. 1990 B1=1   
  192. 2000 P1=0   
  193. 2010 RETURN 
  194. 2020 I=53   
  195. 2030 I=I-1  
  196. 2040 IF H(I)=0 THEN 2080
  197. 2050 IF V(I)=7 THEN 2080
  198. 2060 IF S(I)=P THEN 2220
  199. 2070 IF V(I)=V(T(T1)) THEN 2220 
  200. 2080 IF I>1 THEN 2030   
  201. 2090 FOR I=1 TO 52  
  202. 2100 IF V(I)<>7 THEN 2120   
  203. 2110 IF H(I)<>0 THEN 2220   
  204. 2120 NEXT I 
  205. 2130 IF D1=0 THEN 2460  
  206. 2140 I=D(D1)
  207. 2150 D1=D1-1
  208. 2160 IF V(I)=7 THEN 2240
  209. 2170 IF S(I)=P THEN 2240
  210. 2180 IF V(I)=V(T(T1)) THEN 2240 
  211. 2190  H2=H2+1   
  212. 2200 H(I)=1 
  213. 2210 GOTO 2130  
  214. 2220 H(I)=0 
  215. 2230 H2=H2-1
  216. 2240 T1=T1+1
  217. 2250 T(T1)=I
  218. 2260 P=S(I) 
  219. 2270 IF V(I)<>7 THEN 2420   
  220. 2280 FOR J=1 TO 4   
  221. 2290 Y(J)=0 
  222. 2300 K1=13*(J-1)+1  
  223. 2310 K2=13*J
  224. 2320 FOR K=K1 TO K2 
  225. 2330 IF H(I)=0 THEN 2350
  226. 2340 Y(J)=Y(J)+1
  227. 2350 NEXT K 
  228. 2360 NEXT J 
  229. 2370 P=1
  230. 2380 FOR J=2 TO 4   
  231. 2390 IF Y(J)<=Y(P) THEN 2410
  232. 2400 P=J
  233. 2410 NEXT J 
  234. 2420 P2=1   
  235. 2430 IF H2<>0 THEN 2450 
  236. 2440 W1=1   
  237. 2450 RETURN 
  238. 2460 IF P1<>0 THEN 2480 
  239. 2470 B1=1   
  240. 2480 P2=0   
  241. 2490 RETURN 
  242. 2500 FOR I0 = 1 TO 4
  243. 2510 IF Y$=U$(I0) THEN 2590 
  244. 2520 NEXT I0
  245. 2530 S9 = 0 
  246. 2540 IF Y$="C" THEN S9=1
  247. 2550 IF Y$="D" THEN S9=2
  248. 2560 IF Y$="H" THEN S9=3
  249. 2570 IF Y$="S" THEN S9=4
  250. 2580 RETURN 
  251. 2590 S9 = I0
  252. 2600 RETURN 
  253. 2610 FOR I0 = 1 TO 13   
  254. 2620 IF X$=C$(I0) THEN 2700 
  255. 2630 NEXT I0
  256. 2640 V9 = 0 
  257. 2650 IF X$="J" THEN V9=10   
  258. 2660 IF X$="Q" THEN V9=11   
  259. 2670 IF X$="K" THEN V9=12   
  260. 2680 IF X$="A" THEN V9=13   
  261. 2690 RETURN 
  262. 2700 V9 = I0
  263. 2710 RETURN 
  264. 2720 END
  265. THEN V9=11   
  266. 2670 IF X$="K" THEN V9=12   
  267. 2680 IF X$="A"